home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
lysrc.zip
/
YACCLIB.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-01-24
|
2KB
|
83 lines
unit YaccLib;
(* Yacc Library Unit for TP Yacc Version 3.0, 6-17-91 AG *)
interface
const yymaxdepth = 1024;
(* default stack size of parser *)
type YYSType = Integer;
(* default value type, may be redefined in Yacc output file *)
var
yychar : Integer; (* current lookahead character *)
yynerrs : Integer; (* current number of syntax errors reported by the
parser *)
yydebug : Boolean; (* set to true to enable debugging output of parser *)
procedure yyerror ( msg : String );
(* error message printing routine used by the parser *)
procedure yyclearin;
(* delete the current lookahead token *)
procedure yyaccept;
(* trigger accept action of the parser; yyparse accepts returning 0, as if
it reached end of input *)
procedure yyabort;
(* like yyaccept, but causes parser to return with value 1, as if an
unrecoverable syntax error had been encountered *)
procedure yyerrlab;
(* causes error recovery to be started, as if a syntax error had been
encountered *)
procedure yyerrok;
(* when in error mode, resets the parser to its normal mode of
operation *)
(* Flags used internally by the parser routine: *)
var
yyflag : ( yyfnone, yyfaccept, yyfabort, yyferror );
yyerrflag : Integer;
implementation
procedure yyerror ( msg : String );
begin
writeln(msg);
end(*yyerrmsg*);
procedure yyclearin;
begin
yychar := -1;
end(*yyclearin*);
procedure yyaccept;
begin
yyflag := yyfaccept;
end(*yyaccept*);
procedure yyabort;
begin
yyflag := yyfabort;
end(*yyabort*);
procedure yyerrlab;
begin
yyflag := yyferror;
end(*yyerrlab*);
procedure yyerrok;
begin
yyerrflag := 0;
end(*yyerrork*);
end(*YaccLib*).